#include <iostream>
#include <stdexcept>
#include <vector>
#include <complex>
#include <string>

using namespace std::literals;

void func1() {
    std::string hello("hello"s);
    std::vector<int> countdown{3, 2, 1, 0};
    {
        std::string die("die"s);
        std::vector<std::string> die3{die, die, die};
        throw std::runtime_error("yikes!"); /* throw site */
    }
    std::string goodbye("goodbye"s);
}

void func2(bool flag) {
    std::vector<double> dv{1.0, 0.5, 0.25};
    std::string herb("Herb"s);
    if (flag) {
        std::string bjarne("Bjarne"s);
        std::complex<double> i(1.0i);
        func1();
    }
}

int main() {
    std::string scott("Scott"s);
    std::vector<int> count{1, 2, 3};
    try {
        std::complex<double> z(1.0i);
        std::complex<double> u(z * z);
        func2(true);
    }
    catch (std::runtime_error& e) {
        std::cout << e.what() << "\n";
    }
}
//die3->die->countdown->hello->i > bjarne->herb->dv->u->z